//
//  CXTableViewHelp.swift
//  CXSwiftDemo
//
//  Created by 潮汐 on 2023/12/6.
//
//TableView帮助类，UITableView 的扩展

import UIKit

extension UITableView {
    
    //适配iOS11
    func tablevieiOS11(tableView: UITableView){
        //修改日期：2023.8.18
        // MARK: =====继承：XMRootViewController用【系统导航栏的】的 iOS11 tableview偏移适配（放到tableview初始化里面）S==============
        if #available(iOS 10, *) {//大于等于iOS11
            //1、tableView的section之间间距变大问题,解决办法：初始化的时候增加以下代码
            //tableView 头部视图和尾部视图出现一块留白问题
            //iOS11下tableview默认开启了self-Sizing，Headers, footers, and cells都默认开启Self-Sizing，所有estimated 高度默认值从iOS11之前的 0 改变为
            tableView.estimatedRowHeight = 0
            tableView.estimatedSectionHeaderHeight = 0
            tableView.estimatedSectionFooterHeight = 0
            
            //在iOS15后。UITableView多了一个属性sectionHeaderTopPadding，该值默认为22。我们只需要把这个值设置为0，就能解决顶部空白的问题。
            if #available(iOS 15, *) {//大于等于iOS15
                tableView.sectionHeaderTopPadding = 0.0
            } else {
                // Fallback on earlier versions
            }
            
            //2、MJ刷新异常，上拉加载出现跳动刷新问题,解决办法：初始化的时候增加以下代码（tableView和collectionView类似）
            tableView.contentInsetAdjustmentBehavior = .never
            
            tableView.scrollIndicatorInsets = tableView.contentInset
            
            
            //其他默认要设置UITableView的组头组脚高度为0.01，否则默认都是20
            tableView.sectionHeaderHeight = 0.01
            tableView.sectionFooterHeight = 0.01
            
            //注意：如果tabbar组头组角有黑线，请设置viewForHeaderInSection 与 viewForFooterInSection 就能消除   或者不要设置组头组脚高度为0.01也能消除
        }
    }
    
}

